using System;
using System.Collections.Generic;
using System.Text;
using EYDIngenieria.ERP.ObjetosDeNegocio.Dominio;
using Castle.ActiveRecord;
using NHibernate.Expression;

namespace EYDIngenieria.ERP.ObjetosDeNegocio.Repositorio
{
    public class RepositorioDetalleOrdenDeTrabajo
    {
        public void Agregar(DetalleOrdenDeTrabajo o)
        {
            o.Create();
        }

        public DetalleOrdenDeTrabajo[] Listar()
        {
            return ActiveRecordBase<DetalleOrdenDeTrabajo>.FindAll();
        }

        public void Modificar(DetalleOrdenDeTrabajo o)
        {
            o.UpdateAndFlush();
        }

        public void Eliminar(DetalleOrdenDeTrabajo o)
        {
            o.DeleteAndFlush();
        }

       
        public DetalleOrdenDeTrabajo Obtener(int id)
        {
            return DetalleOrdenDeTrabajo.Find(id);
        }

        public DetalleOrdenDeTrabajo[] Listar(OrdenDeTrabajo ot)
        {
            ICriterion[] query = { Expression.Eq("OrdenDeTrabajo", ot) };
            Order[] sort = { Order.Asc("OrdenDeTrabajo") };
            return DetalleOrdenDeTrabajo.FindAll(sort, query);

        }
        
    }
}
